package com.taiji.dianthus.domain.sms;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.annotations.Proxy;

import javax.persistence.*;
import java.util.Date;

/**
 * @ClassName SmsInfo
 * @Description 短信信息表
 * @Author H.M
 * @Date 2020/7/14
 */
@Entity
@Table(name = "t_sms_info")
@Proxy(lazy = false)
@JsonIgnoreProperties({"handler", "hibernateLazyInitializer"})
@ApiModel(description = "短信信息表")
public class SmsInfo {


    @Id
    @GeneratedValue(generator = "jpa-uuid")
    @Column(name = "id")
    @ApiModelProperty(value = "主键", name = "id")
    private String id;

    @Column(name = "send_user_id")
    @ApiModelProperty(value = "发送人ID", name = "sendUserId")
    private String sendUserId;

    @Column(name = "receive_user_phone")
    @ApiModelProperty(value = "接收人手机号码集合 多个以,隔开", name = "receiveUserPhone")
    private String receiveUserPhone;
    @Column(name = "receive_book_user_view")
    private String receiveBookUserView;
    //通讯录接收人电话
    @Column(name = "receive_book_user_phone")
    private String receiveBookUserPhone;
    //通讯录接收人姓名
    @Column(name = "receive_book_user_name")
    private String receiveBookUserName;
    //其他接收人电话
    @Column(name = "receive_orther_user_phone")
    private String receiveOrtherUserPhone;
    //其他接收人姓名
    @Column(name = "receive_orther_user_name")
    private String receiveOrtherUserName;

    @Column(name = "msg_subject")
    @ApiModelProperty(value = "短信主题", name = "msgSubject")
    private String msgSubject;

    @Column(name = "msg_content")
    @ApiModelProperty(value = "短信正文", name = "msgContent")
    private String msgContent;

    //信息位置 信息位置：1 发送箱 2 草稿箱 3 删除箱
    @Column(name = "msg_loc")
    private Integer msgLoc;

    @Column(name = "msg_status")
    @ApiModelProperty(value = "信息发送状态  0 发送中 1 已发送 2 发送失败 ", name = "msgStatus")
    private Integer msgStatus;

    @Column(name = "msg_status_msg")
    @ApiModelProperty(value = "信息发送状态信息", name = "msgStatusMsg")
    private String msgStatusMsg;

    @Column(name = "msg_result_code")
    @ApiModelProperty(value = "消息提交返回代码", name = "msgResultCode")
    private String msgResultCode;


    @Column(name = "msg_result_msg")
    @ApiModelProperty(value = "消息提交返回值", name = "msgResult")
    private String msgResultMsg;

    @Column(name = "msg_type")
    @ApiModelProperty(value = "短信类型 1.普通短信 2 定时 3 群发短信", name = "msgType")
    private Integer msgType;

    //群发消息 群组id
    @Column(name = "sms_group_id")
    private String smsGroupId;

    @Column(name = "msg_time")
    @ApiModelProperty(value = "定时发送 设置的时间", name = "msgTime")
    private Date msgTime;

    @Column(name = "sms_priority")
    @ApiModelProperty(value = "优先级1-5 ", name = "smsPriority")
    private Integer smsPriority;

    @Column(name = "msg_group")
    @ApiModelProperty(value = "消息批次号", name = "msgGroup")
    private String msgGroup;

    @Column(name = "create_time")
    private Date createTime;

    @Column(name = "enable_flag", insertable = false, updatable = false)
    private Integer enableFlag;

    @Column(name = "sms_account_id")
    @ApiModelProperty(value = "短信账号id", name = "smsAccountId")
    private String smsAccountId;

    @Column(name = "retry_count")
    private Integer retryCount;//重试次数


    @Column(name = "retry_msg_group_1")
    @ApiModelProperty(value = "重试第一次msgGroup", name = "retryMsgGroup1")
    private String retryMsgGroup1;

    @Column(name = "retry_msg_group_2")
    @ApiModelProperty(value = "重试第一次msgGroup", name = "retryMsgGroup2")
    private String retryMsgGroup2;

    public Integer getRetryCount() {
        return retryCount;
    }

    public void setRetryCount(Integer retryCount) {
        this.retryCount = retryCount;
    }

    public Integer getMsgLoc() {
        return msgLoc;
    }

    public void setMsgLoc(Integer msgLoc) {
        this.msgLoc = msgLoc;
    }

    public String getReceiveBookUserPhone() {
        return receiveBookUserPhone;
    }

    public void setReceiveBookUserPhone(String receiveBookUserPhone) {
        this.receiveBookUserPhone = receiveBookUserPhone;
    }

    public String getReceiveBookUserName() {
        return receiveBookUserName;
    }

    public void setReceiveBookUserName(String receiveBookUserName) {
        this.receiveBookUserName = receiveBookUserName;
    }

    public String getReceiveOrtherUserPhone() {
        return receiveOrtherUserPhone;
    }

    public void setReceiveOrtherUserPhone(String receiveOrtherUserPhone) {
        this.receiveOrtherUserPhone = receiveOrtherUserPhone;
    }

    public String getReceiveOrtherUserName() {
        return receiveOrtherUserName;
    }

    public void setReceiveOrtherUserName(String receiveOrtherUserName) {
        this.receiveOrtherUserName = receiveOrtherUserName;
    }

    public String getId() {
        return id;
    }

    public String getMsgStatusMsg() {
        return msgStatusMsg;
    }

    public void setMsgStatusMsg(String msgStatusMsg) {
        this.msgStatusMsg = msgStatusMsg;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSendUserId() {
        return sendUserId;
    }

    public void setSendUserId(String sendUserId) {
        this.sendUserId = sendUserId;
    }

    public String getReceiveUserPhone() {
        return receiveUserPhone;
    }

    public void setReceiveUserPhone(String receiveUserPhone) {
        this.receiveUserPhone = receiveUserPhone;
    }

    public String getMsgSubject() {
        return msgSubject;
    }

    public void setMsgSubject(String msgSubject) {
        this.msgSubject = msgSubject;
    }

    public String getMsgContent() {
        return msgContent;
    }

    public void setMsgContent(String msgContent) {
        this.msgContent = msgContent;
    }

    public Integer getMsgStatus() {
        return msgStatus;
    }

    public void setMsgStatus(Integer msgStatus) {
        this.msgStatus = msgStatus;
    }

    public String getMsgResultCode() {
        return msgResultCode;
    }

    public void setMsgResultCode(String msgResultCode) {
        this.msgResultCode = msgResultCode;
    }

    public Integer getMsgType() {
        return msgType;
    }

    public void setMsgType(Integer msgType) {
        this.msgType = msgType;
    }

    public Date getMsgTime() {
        return msgTime;
    }

    public void setMsgTime(Date msgTime) {
        this.msgTime = msgTime;
    }

    public Integer getSmsPriority() {
        return smsPriority;
    }

    public void setSmsPriority(Integer smsPriority) {
        this.smsPriority = smsPriority;
    }

    public String getMsgGroup() {
        return msgGroup;
    }

    public String getMsgResultMsg() {
        return msgResultMsg;
    }

    public void setMsgResultMsg(String msgResultMsg) {
        this.msgResultMsg = msgResultMsg;
    }

    public String getReceiveBookUserView() {
        return receiveBookUserView;
    }

    public void setReceiveBookUserView(String receiveBookUserView) {
        this.receiveBookUserView = receiveBookUserView;
    }

    public void setMsgGroup(String msgGroup) {
        this.msgGroup = msgGroup;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getEnableFlag() {
        return enableFlag;
    }

    public void setEnableFlag(Integer enableFlag) {
        this.enableFlag = enableFlag;
    }

    public String getSmsGroupId() {
        return smsGroupId;
    }

    public void setSmsGroupId(String smsGroupId) {
        this.smsGroupId = smsGroupId;
    }

    public String getSmsAccountId() {
        return smsAccountId;
    }

    public void setSmsAccountId(String smsAccountId) {
        this.smsAccountId = smsAccountId;
    }

    public String getRetryMsgGroup1() {
        return retryMsgGroup1;
    }

    public void setRetryMsgGroup1(String retryMsgGroup1) {
        this.retryMsgGroup1 = retryMsgGroup1;
    }

    public String getRetryMsgGroup2() {
        return retryMsgGroup2;
    }

    public void setRetryMsgGroup2(String retryMsgGroup2) {
        this.retryMsgGroup2 = retryMsgGroup2;
    }
}
